package com.wing.storage.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wing.product.model.response.ProductVO;
import com.wing.res.model.response.ProductCountInWarhouseVo;
import com.wing.storage.model.entity.ProductInventory;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 产品库存-Service
 *
 * @author xiayang
 */
public interface ProductInventoryService extends IService<ProductInventory> {

    /**
     * 产品库存列表
     *
     * @param page   分页信息
     * @param params 参数信息
     * @return
     */
    Page<ProductInventory> pageList(Page page, Map<String, Object> params);

    /**
     * 产品库存详情
     *
     * @param productInventoryId 产品库存ID
     * @return
     */
    ProductInventory get(Long productInventoryId);


    /**
     * 畅捷通-现存量同步
     */
    void chanjetCurrentStockSync();

    /**
     * 查询物料的库存数量
     * @return
     */
    List<ProductCountInWarhouseVo> getProductCountInWarhouse();

    /**
     * 查询库存列表
     * @param params
     * @return
     */
    List<ProductVO> selProductInventory(Map<String, Object> params);

}
